home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 76 / XENIATGM66.iso / Indiana Jones / Indiana Jones.exe / RESOURCE / PREVIEW.GOB / cog_aet_randomambient.cog < prev    next >
Text File  |  1999-11-15  |  2KB  |  113 lines

  1. # Jones 3D Cog Script
  2. #
  3. # aet_RandomAmbient.cog
  4. #
  5. # [SXC] [TL] [GJ] on bass...
  6. #
  7. # (C) 1999 LucasArts Entertainment Co. All Rights Reserved
  8. #
  9. # =======================================================================================
  10. symbols
  11.  
  12. message    startup
  13. message    timer
  14. message    entered
  15. message    user0
  16. message    user1
  17.  
  18. thing    player                local
  19.  
  20. sound    wav0
  21. sound    wav1
  22. sound    wav2
  23. sound    wav3
  24. sound    wav4
  25.  
  26. int        numsounds
  27.  
  28. flex    min_interval
  29. flex    range_interval
  30. flex    min_volume
  31. flex    range_volume
  32.  
  33. int        temp                local
  34. int        aetSound            local
  35. int        b_IsPlaying            local
  36. int        TIMERID_AMB=1        local
  37.  
  38. int        startcog=0                    # Set as 1 for cog to run at startup.
  39.  
  40. end
  41.  
  42. # ========================================================================================
  43. code
  44.  
  45. # ........................................................................................
  46. startup:
  47.  
  48.     b_IsPlaying = 0;
  49.     player = GetLocalPlayerThing();
  50.  
  51.     if (startcog != 1) 
  52.     {
  53.         return;
  54.     }
  55.  
  56.     Sleep(1.0);
  57.     SetTimerEx(min_interval+(rand()*range_interval), TIMERID_AMB, 0, 0);
  58.  
  59.     return;
  60.  
  61.  
  62. # ........................................................................................
  63. timer:
  64.  
  65.     # Dont play sound if already doing so, but try again later
  66.     if ( b_IsPlaying == 1 )
  67.     {
  68.         SetTimerEx(min_interval+(rand()*range_interval), TIMERID_AMB, 0, 0);
  69.         return;
  70.     }
  71.  
  72.     temp = rand()*numsounds;
  73.     aetSound=playsoundlocal(wav0[temp], (min_volume+(rand()*range_volume)), ((rand()*2)-1.0), 0, 0);
  74.  
  75.     if (aetSound != -1)
  76.     {
  77.         b_IsPlaying = 1;
  78.  
  79.         ChangeSoundPitch(aetSound, ((RandBetween(1, 99) * 0.01) + 0.25), 0.01);
  80.         WaitForSound(aetSound);
  81.  
  82.         b_IsPlaying = 0;
  83.     }
  84.  
  85.     SetTimerEx(min_interval+(rand()*range_interval), TIMERID_AMB, 0, 0);
  86.  
  87.     return;
  88.  
  89.  
  90. # ........................................................................................
  91. user0:
  92.  
  93.     KillTimerEx(TIMERID_AMB);
  94.     if ( b_IsPlaying == 1 )
  95.     {
  96.         Reset();
  97.         b_IsPlaying = 0;
  98.         StopSound(aetSound, 0.9);
  99.     }
  100.  
  101.     return;
  102.  
  103.  
  104. # ........................................................................................
  105. user1:
  106.  
  107.     SetTimerEx(min_interval+(rand()*range_interval), TIMERID_AMB, 0, 0);
  108.  
  109.     return;
  110.  
  111. # ........................................................................................
  112. end
  113.